An example embodiment of the invention relates generally to methods of externally storing data processed by a processing device. In particular, an example embodiment of the invention relates to methods of external data storage, methods of internalising data and method of enabling external data storage and internalisation of data. An example embodiment of the invention also relates to the application of such methods in a multimedia system and to a system and computer program for executing such methods.
Examples of a method of enabling external data storage and of a method of external data storage and system adapted to carry out such a method are known, e.g. from U.S. Pat. No. 5,757,919. This publication discloses a method and system for maintaining integrity and confidentiality of pages paged to an external storage unit from a physically secure environment. This physically secure environment contains a secure processor coupled by a bus to a random access memory. An integrity check engine performs a one-way hash of data paging between the secure environment and the insecure environment, particularly an external storage unit. In one embodiment, the secure processor is architected to use a 1K page. A host processor in the insecure environment treats the pages of the secure processor stored in external memory as 1K data blocks. If a page is identified as needed, a determination is made if the page is present within the secure memory. If the page is present, a page hit occurs and no further action is required. If the page is not present, a page fault occurs. When a page fault occurs, a determination is made if there is space available in the secure memory to which the needed page can be mapped. If no space is available, then a page is selected to page out. Various selection criteria may be employed such as least recently used.
The known method and system has the disadvantage that it is difficult to select the piece of data to be transferred to the secondary data storage system. Because paging in and paging out generally involve latency and the security services increase the latency in the event of a page fault, this slows down the processing of active records.
Another example of a method of external data storage, method of internalising data method of processing records in a multimedia system and system adapted to carrying out such methods is disclosed in FR-A-2 803 471. This publication discloses a memory management process in a television receiver. The television system comprises a television, local memory means implanted in the television and external memory means associated with the television, such as a memory card or disk drive. The system comprises a computer program comprising a plurality of executable modules. A first module receives and analyses each request to memorise information. If the characteristics of the memory means do not permit the storage of new information, the first module triggers a second module. The second module frees memory space whilst respecting usage criteria of the stored information. The first and second module use a series of simple procedures to optimise the storage of information. These procedures realise, for example, the removal of data from a first memory means to a second memory means.
A problem of this known system and method is that they do not allow processing of part or all of the record once it has been externalised. If this were to happen and the piece of data were to be transferred back to the television at a later stage, the complete set of data belonging to the record would not be identical to the complete set of data as last processed by the application on the television set before externalisation.